package com.ruoyi.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.web.domain.MonitorArea;
import com.ruoyi.web.domain.TreeSelect;
import com.ruoyi.web.domain.dto.MonitorAreaDto;
import com.ruoyi.web.domain.vo.MonitorAreaTreeVo;
import com.ruoyi.web.domain.vo.MonitorAreaVo;

import java.util.List;
import java.util.Map;

public interface IMonitorAreaService extends IService<MonitorArea> {

    AjaxResult add(MonitorAreaDto dto);

    List<MonitorAreaTreeVo> getTreeVoList(MonitorAreaDto dto);

    List<MonitorAreaTreeVo> getCameraTreeVoList(MonitorAreaDto dto);

    List<TreeSelect> buildMonitorAreaTreeSelect(List<MonitorAreaTreeVo> list);

    AjaxResult rename(MonitorAreaDto dto);

    AjaxResult move(MonitorAreaDto dto);

    AjaxResult delete(MonitorAreaDto dto);

    MonitorAreaVo getDetails(Long baseId);

    List<MonitorAreaVo> getList(MonitorAreaDto dto);

    Map<String, Integer> getAllCamerasCount();
}